
#include <vector>
#include "Interval.h"

class MInterval {
public:
	std::vector<Interval> a;
	MInterval(double*);
	static MInterval& Create(s,double*);
	MInterval& operator+=(double);
	MInterval& operator-=(double);
	IA operator*=(double);
	IA operator/=(double);
	IA operator^=(double);
	IA operator%=(double);
	MInterval& operator+=(const Interval&);
	MInterval& operator-=(const Interval&);
	IA& operator*=(const Interval&);
	IA& operator/=(const Interval&);
	IA& operator^=(const Interval&);
	Interval& operator%=(const Interval&);
	Interval operator+(double);
	Interval operator-(double);
	Interval operator*(double);
	Interval operator/(double);
	Interval operator^(double);
	Interval operator%(double);
	Interval operator+(const Interval&);
	Interval operator-(const Interval&);
	Interval operator*(const Interval&);
	Interval operator/(const Interval&);
	Interval operator^(const Interval&);
	Interval operator%(const Interval&);
	Interval& _sin();
	Interval& _cos();
	Interval& _abs();
	Interval& _negative();
	Interval sin();
	Interval cos();
	Interval abs();
	Interval negative();
	bool contains(double value);
};
